10 REM COPYRIGHT 1989 COMPUTE! PUBLICATIONS INC. - ALL RIGHTS RESERVED 20 IFOK=0THENPOKE55,0:POKE56,80:CLR 30 IFOK=3THEN700 40 IFPEEK(52033)=8THENOK=1 50 IFOK=0THENOK=1:LOAD"RGB KIT",8,1 60 IFOK=1THENOK=2:SYS52000 70 GOTO180 80 P=S+INT(Y/8)*320+INT(X/8)*8+(YAND7):POKEP,PEEK(P)OR2^(7-(XAND7)):RETURN 90 IFABS(X2-X1)>ABS(Y2-Y1)THEN120 100 M=(X2-X1)/(Y2-Y1):GOSUB140:SP=(Y1>Y2OR1):X=X1 110 FORY=Y1TOY2STEPSP:GOSUB80:X=X+M:NEXTY:RETURN 120 M=(Y2-Y1)/(X2-X1):GOSUB140:SP=(X1>X2OR1):Y=Y1 130 FORX=X1TOX2STEPSP:GOSUB80:Y=Y+M:NEXTX:RETURN 140 IFNOT(((ABS(M)<1)AND(X1>X2))OR((ABS(M)>1)AND(Y1>Y2)))THENRETURN 150 X=X1:X1=X2:X2=X:Y=Y1:Y1=Y2:Y2=Y:RETURN 160 U=1/((null)*RX):R1=RY*.72 170 FORT=BTOESTEPU:X=RX*COS(T)+X1:Y=R1*SIN(T)+Y1:GOSUB80:NEXTT:RETURN 180 PRINT"[147]"TAB(13)"RGB KIT DEMO" 190 PRINT"THE  CAPS LOCK [146] KEY NOW TOGGLES BETWEEN" 200 PRINT"THE FAST AND SLOW MODES. IN THE FAST" 210 PRINT"MODE, THE COMPOSITE SCREEN IS BLANKED." 220 PRINT"YOU MUST SWITCH YOUR MONITOR TO RGB TO" 230 PRINT"SEE THE SCREEN. THE COMMODORE[146]+SHIFT[146]" 240 PRINT"KEY COMBINATION IS STILL ACTIVE IN RGB" 250 PRINT"MODE." 260 PRINT"SWITCH YOUR MONITOR TO RGB MODE AND" 270 PRINT"THEN PRESS SPACE[146] TO CYCLE THE CHARACTER" 280 PRINT"COLORS. PRESS RETURN[146] TO CONTINUE":C=1 290 GETK$:IFK$<>" "ANDK$<>CHR$(13)THEN290 300 IFK$=" "THENSYS52006,C:C=(C+1)AND15:GOTO290 310 PRINT"[147]LET'S DO A SPEED TEST. DURING THE TEST," 320 PRINT"THE SCREEN FILLS WITH RANDOM CHARACTERS." 330 PRINT"USE THE CAPS LOCK[146] KEY TO TOGGLE" 340 PRINT"BETWEEN FAST AND SLOW MODES. THERE IS" 350 PRINT"A MARKED DIFFERENCE IN SPEED BETWEEN" 360 PRINT"THE TWO MODES. TO EXIT THE TEST PRESS RETURN[146]." 370 GETK$:IFK$=""THEN370 380 SYS52009,5 390 PRINT"[147]":Z=1024 400 C=INT(RND(0)*256):POKEZ,C 410 GETK$:IFK$=CHR$(13)THEN440 420 Z=Z+1:IFZ<2024THEN400 430 GOTO390 440 SYS52009,20 450 PRINT"[147]NORMALLY, THE RGB SCREEN DISPLAYS THE" 460 PRINT"SAME THING AS THE COMPOSITE SCREEN." 470 PRINT"IT CAN DISPLAY THE CONTENTS OF MEMORY" 480 PRINT"ANYWHERE IN THE 64'S ADDRESS SPACE." 490 PRINT"JUST FOR FUN, LET'S LOOK AT PART OF THE" 500 PRINT"RAM USED BY THE BASIC INTERPRETER." 510 PRINT"PRESS RETURN[146] TO CONTINUE." 520 GETK$:IFK$=""THEN520 530 SYS52012,0:SYS52009,5 540 GETK$:IFK$<>CHR$(13)THEN540 550 SYS52012,1024:SYS52009,20 560 PRINT"[147]THE 64 HAS TWO CHARACTER SETS WHICH CAN" 570 PRINT"BE TOGGLED IN AND OUT BY PRESSING THE" 580 PRINT"COMMODORE[146]+SHIFT[146] KEYS. RGB KIT ALSO" 590 PRINT"HAS TWO CHARACTER SETS. UNLIKE THE" 600 PRINT"NORMAL 64 CHARACTER SETS, RGB KIT'S SETS" 610 PRINT"CAN BE CHANGED VERY EASILY. THIS PART" 620 PRINT"OF THE DEMO LOADS A NEW CHARACTER SET" 630 PRINT"WHICH REPLACES THE UPPERCASE/LOWERCASE" 640 PRINT"SET IN RGB MODE. PRESS COMMODORE[146]+SHIFT[146]"; 650 PRINT"TO TOGGLE BETWEEN THE NEW SET AND THE" 660 PRINT"STANDARD SET. PRESS RETURN[146] TO CONTINUE." 670 GETK$:IFK$=""THEN670 680 PRINT"[147]LOADING CHARACTER SET" 690 PRINT"PLEASE WAIT...":OK=3:SYS52003:LOAD"CHRSET",8,1 700 SYS52000:SYS52015,40960,1:PRINT"[147] CHARACTER SET DEMO" 710 FORZ=0TO255:POKE1104+Z,Z:NEXT 720 PRINT"THE QUICK BROWN FOX JUMPED OVER":PRINT"THE LAZY DOG." 730 GETK$:IFK$<>CHR$(13)THEN730 740 SYS52003:SYS52000 750 PRINT"[147]RGB KIT'S MOST SPECTACULAR ABILITY IS" 760 PRINT"ITS ABILITY TO DISPLAY HI-RES SCREENS." 770 PRINT"A HI-RES SCREEN CAN BE TAKEN FROM ANY" 780 PRINT"LOCATION IN THE 64'S RAM, INCLUDING THE" 790 PRINT"RAM UNDER THE BASIC ROM, KERNAL ROM AND" 800 PRINT"I/O SPACE. PRESS SPACE[146] TO GENERATE AND" 810 PRINT"DISPLAY A BITMAP SCREEN. PRESS RETURN[146]" 820 PRINT"TO EXIT THE DEMO." 830 GETK$:IFK$<>" "ANDK$<>CHR$(13)THEN830 840 IFK$=CHR$(13)THEN990 850 PRINT"[147]PLEASE WAIT...DRAWING" 860 FORI=0TO35:READA:POKE49152+I,A:NEXTI:SYS49152:S=32768:C=31744 870 X1=150:Y1=85:RX=75:RY=RX:B=0:E=2*(null):GOSUB160 880 X1=115:Y1=70:RX=15:RY=RX:B=0:E=2*(null):GOSUB160 890 X1=185:Y1=70:RX=15:RY=RX:B=0:E=2*(null):GOSUB160 900 X1=150:Y1=90:RX=60:RY=50:B=10*(null)/180:E=170*(null)/180:GOSUB160 910 X1=150:Y1=90:RX=63:RY=30:B=20*(null)/180:E=160*(null)/180:GOSUB160 920 X1=75:Y1=150:X2=140:Y2=162:GOSUB90:X1=140:Y1=162:X2=160:Y2=162:GOSUB90 930 X1=160:Y1=162:X2=225:Y2=150:GOSUB90:X1=225:Y1=150:X2=225:Y2=190:GOSUB90 940 X1=225:Y1=190:X2=160:Y2=178:GOSUB90:X1=160:Y1=178:X2=140:Y2=178:GOSUB90 950 X1=140:Y1=178:X2=75:Y2=190:GOSUB90:X1=75:Y1=190:X2=75:Y2=150:GOSUB90 960 X1=140:Y1=162:X2=140:Y2=178:GOSUB90:X1=160:Y1=162:X2=160:Y2=178:GOSUB90 970 SYS52000:SYS52018,S,C 980 GETK$:IFK$<>CHR$(13)THEN980 990 SYS52000:PRINT"[147]END OF DEMO.":SYS52003:END 1000 DATA 169,0,168,162,32,153 1010 DATA 0,128,200,208,250,238 1020 DATA 7,192,202,208,244,169 1030 DATA 48,160,0,162,4,153 1040 DATA 0,124,200,208,250,238 1050 DATA 25,192,202,208,244,96